//=============================================================================
/**
 * @file	poke_clact.h
 * @brief	ポケモンセルアクター
 * @date	2007.07.10
 */
//=============================================================================

#ifndef __POKE_CLACT_H__
#define __POKE_CLACT_H__

#include "poke_clact_def.h"
#include "common.h"

typedef enum{
	POKE_DIR_NONE,
	POKE_DIR_UP,
	POKE_DIR_DOWN,
	POKE_DIR_LEFT,
	POKE_DIR_RIGHT,
	//ここから特殊
	POKE_DIR_UP_LV1,
	POKE_DIR_UP_LV2,
}POKE_DIR;

typedef enum{
	ANM_TYPE_WALK = 0,
	ANM_TYPE_RUN = 4,
	ANM_TYPE_DASH = 8,
	ANM_TYPE_STOP = 12,
	ANM_TYPE_THROW = 16,
	ANM_TYPE_PANIC = 20,
	ANM_TYPE_PANIC_MORE = 21,
	ANM_TYPE_DAMAGE = 22,
	ANM_TYPE_SJUMP = 26,
}ANM_TYPE;

typedef struct PCLACT_CNT_tag * PCLACT_CNT_PTR;
typedef struct PCLACT_tag * PCLACT_PTR;

extern PCLACT_CNT_PTR PCLACT_Create(const int inHeapID);
extern void PCLACT_Init(PCLACT_CNT_PTR cnt_ptr, const u8 inPokeNum, CLACT_SET_PTR pClActSet);
extern void PCLACT_Free(PCLACT_CNT_PTR cnt_ptr);
extern void PCLACT_SetPokeClActor(PCLACT_CNT_PTR cnt_ptr, const int inEntryNum,
		const MONS_INFO *inInfoTbl,
		const PCLACT_SET_PARAM *inParam, const int inTcbPri, const int inBaseResID);
extern BOOL PCLACT_CheckActSetTask(PCLACT_CNT_PTR	cnt_ptr);
extern PCLACT_PTR PCLACT_GetPclActPtr(PCLACT_CNT_PTR cnt_ptr, const u8 inIndex);
extern CLACT_WORK_PTR PCLACT_GetClActWorkPtrByIdx(PCLACT_CNT_PTR cnt_ptr, const u8 inIndex);
extern CLACT_WORK_PTR PCLACT_GetClActWorkPtr(PCLACT_PTR poke_ptr);
extern const MONS_INFO *PCLACT_GetMonsInfo(PCLACT_PTR poke_ptr);
extern void PCLACT_Draw(PCLACT_CNT_PTR cnt_ptr);
extern u8 PCLACT_GetSpaceHeight(PCLACT_PTR poke_ptr);
extern void PCLACT_GetPalData(const MONS_INFO *inMonsInfo, const int inHeapID, u8 *outBuff);
extern void PCLACT_ChangePalette(PCLACT_CNT_PTR cnt_ptr, const u8 inIdx,
		const NNS_G2D_VRAM_TYPE inVramType, u16 *inPalData );
extern void PCLACT_SetScale(PCLACT_PTR poke_ptr, f32 sx, f32 sy);
extern void PCLACT_SetBigPokeChinkFlag( PCLACT_CNT_PTR cnt_ptr );
extern BOOL PCLACT_GetChinkFlag( PCLACT_CNT_PTR cnt_ptr );
extern BOOL PCLACT_GetPokeChinkFlag( PCLACT_PTR poke_ptr );

#endif	//__POKE_CLACT_H__

